﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Ivy.Common.Framework.Base;
using System.Runtime.Serialization;

namespace Ivy.SiteAdmin.Entity
{
    [Serializable]
    [DataContract]
    public class Sys_ErrorLog : DataEntityBase
    {
        #region  Variable & constant
        Int32 lErrorLogPrimaryID = -1;
        string lApplicationName = string.Empty;
        string lMethodName = string.Empty;
        string lErrorMessage = string.Empty;
        string lStackTrace = string.Empty;
        #endregion  Variable & constant

        #region Constructor & Destructor
        public Sys_ErrorLog()
            : base()
        {
            this.Sys_DeleteType = DeleteType.SoftDeleteOnly;
        }
        #endregion Constructor & Destructor

        #region Properties
        [DataMember]
        public Int32 ErrorLogPrimaryID
        {
            get
            {
                return lErrorLogPrimaryID;
            }
            set
            {
                lErrorLogPrimaryID = value;
                base.SetEntityStateChangeAttribute();
            }
        }

        [DataMember]
        public string ApplicationName
        {
            get
            {
                return lApplicationName;
            }
            set
            {
                lApplicationName = value;
                base.SetEntityStateChangeAttribute();
            }
        }

        [DataMember]
        public string MethodName
        {
            get
            {
                return lMethodName;
            }
            set
            {
                lMethodName = value;
                base.SetEntityStateChangeAttribute();
            }
        }

        [DataMember]
        public string ErrorMessage
        {
            get
            {
                return lErrorMessage;
            }
            set
            {
                lErrorMessage = value;
                base.SetEntityStateChangeAttribute();
            }
        }

        [DataMember]
        public string StackTrace
        {
            get
            {
                return lStackTrace;
            }
            set
            {
                lStackTrace = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        #endregion Properties

        #region Public Methods
        #endregion Public Methods

        #region Events
        #endregion Events

        #region Private Methods
        #endregion Private Methods
    }
}
